# dmenu - dynamic menu
# See LICENSE file for copyright and license details.

include config.mk

SRC = strtonum.c reallocarray.c util.c
OBJ = $(SRC:.c=.o)
HDR = config.h arg.h strtonum.h reallocarray.h util.h config.mk

all: smw-add smw-calc

.c.o:
	$(CC) -c $(CFLAGS) $(CPPFLAGS) $<

config.h:
	cp config.def.h $@

$(OBJ) smw-add.o smw-calc.o: $(HDR)

smw-calc: smw-calc.o $(OBJ) $(HDR)
	$(CC) -o $@ smw-calc.o $(OBJ) $(LDFLAGS)

smw-add: smw-add.o $(OBJ) $(HDR)
	$(CC) -o $@ smw-add.o $(OBJ) $(LDFLAGS)

clean:
	rm -f smw-calc smw-calc.o smw-add smw-add.o $(OBJ)

install: all
	mkdir -p $(DESTDIR)$(PREFIX)/bin
	cp -f smw-add smw-calc $(DESTDIR)$(PREFIX)/bin
	chmod 755 $(DESTDIR)$(PREFIX)/bin/smw-add
	chmod 755 $(DESTDIR)$(PREFIX)/bin/smw-calc
	mkdir -p $(DESTDIR)$(MANPREFIX)/man1
	mkdir -p $(DESTDIR)$(MANPREFIX)/man5
	cp smw-calc.1 $(DESTDIR)$(MANPREFIX)/man1
	cp smw-add.1  $(DESTDIR)$(MANPREFIX)/man1
	cp smw.5      $(DESTDIR)$(MANPREFIX)/man5
	chmod 644 $(DESTDIR)$(MANPREFIX)/man1/smw-add.1
	chmod 644 $(DESTDIR)$(MANPREFIX)/man1/smw-calc.1
	chmod 644 $(DESTDIR)$(MANPREFIX)/man5/smw.5

uninstall:
	rm -f $(DESTDIR)$(PREFIX)/bin/smw-add
	rm -f $(DESTDIR)$(PREFIX)/bin/smw-calc
	rm -f $(DESTDIR)$(MANPREFIX)/man1/smw-add.1
	rm -f $(DESTDIR)$(MANPREFIX)/man1/smw-calc.1
	rm -f $(DESTDIR)$(MANPREFIX)/man5/smw.5

dist:
	mkdir -p smw-$(VERSION)
	cp LICENSE Makefile config.def.h smw-add.1 smw-calc.1 smw.5 \
	$(SRC) $(HDR) smw-add.c smw-calc.c \
	smw-$(VERSION)
	tar -cf - smw-$(VERSION) | zstd -6 > smw-$(VERSION).tzst
	rm -rf smw-$(VERSION)

.PHONY: all clean install uninstall
